// Interfaces for exercise 3
#ifndef   	IF_H_
#define   	IF_H_
#define Task_3

#include "math.h"
#include <vector>
#include <algorithm>

#ifdef Task_1
#define NR_OF_PROCESSORS 100
#define SIZE (int)sqrt(NR_OF_PROCESSORS) // Length of the sides in the SIZExSIZE array of processors.


// Interface for processor
class processor_if: public sc_interface 
{
public:
	virtual bool free(void) = 0;
	virtual bool test(int, bool) = 0;
};
#endif /* Task_1*/
#ifdef Task_3
#define NR_OF_PROCESSORS 100
#define SIZE (int)sqrt(NR_OF_PROCESSORS) // Length of the sides in the SIZExSIZE array of processors.


// Interface for processor
class processor_if: public sc_interface 
{
public:
	virtual int free(void) = 0;
	virtual bool test(int) = 0;
};

#endif /* Task_3 */
#endif 	    /* !IF_H_ */
